"""
@date: 2023/7/17
@author: March
@desc: test

预备知识：python执行系统命令模块（subprocess）、IP地址处理模块（IPy）
输入内容：要检查的网段、子网掩码 (输入：192.168.0.0/24)
输出示例： 192.168.0.1已被使用
将输出结果放到文件
将可能存在异常的地方需要做相应处理
"""
import subprocess
from IPy import IP

ip =IP(input("请输入要检查的ip及子网掩码："))
# ip = IP('192.168.2.0/24')
f = open("./used_ip.txt", "a", encoding="utf-8")
try:
	for i in ip:
		ret = subprocess.run(f"ping {i} -w 1 -c 1",shell=True,stdout=subprocess.PIPE,stderr=subprocess.PIPE)
		if ret.returncode == 0:
			print(i,"已被使用！")
			f.write(f"{i} 已经被使用！\n")
		#	f.write("已被使用！")
		else:
			print(i,"是可用地址！")
except:
        print("出错了")
else:
	print("代码没有问题")
finally:
	print("关闭文件回收资源")
	f.close()
